package com.heima.apis.wemedia;

import com.heima.model.common.dtos.PageResponseResult;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.wemedia.dtos.NewsAuthDto;
import com.heima.model.wemedia.dtos.WmNewsDto;
import com.heima.model.wemedia.dtos.WmNewsPageReqDto;
import com.heima.model.wemedia.vo.WmNewsVo;
import com.heima.model.wemedia.pojos.WmNews;
import io.swagger.annotations.Api;

import java.util.List;

@Api("自媒体发布文章")
public interface WmNewsControllerApi {
    /**
     * 根据条件分页查询文章
     * @param dto
     * @return
     */
    public ResponseResult findList(WmNewsPageReqDto dto);


    /**
     * 保存修改文章
     * @param dto
     * @return
     */
    public ResponseResult summitNews(WmNewsDto dto);

    /**
     * 根据id修改文章
     * @param id
     * @return
     */
    public ResponseResult findWmNewsById(Integer id);

    /**
     * 根据id删除文章
     * @param id
     * @return
     */
    public ResponseResult delNews(Integer id);

    /**
     * 发布文章的上架下架
     * @param dto
     * @return
     */
    public ResponseResult downOrUp(WmNewsDto dto);

    /**
     * 根据id查询文章信息
     * @param id
     * @return
     */
    public WmNews findById(Integer id);

    /**
     * 修改文章信息
     * @param wmNews
     * @return
     */
    public ResponseResult updateWmNews(WmNews wmNews);

    /**
     * 查询待发布文章
     * @return
     */
    public List<Integer> findRelease();

    /**
     * 查询文章列表
     * @param dto
     * @return
     */
    public PageResponseResult findList(NewsAuthDto dto);

    /**
     * 根据id查询文章详情
     * @param id
     * @return
     */
    public WmNewsVo findWmNewsVo(Integer id);
}
